Deleni ve FB
Otázka od: Ales Pavel
19. 11. 2002 13:19
ahoj mam promennou v triggeru se kterou pocitam nejak takhle x=y/4 jenze
znamenko "/" asi neni vhodne pro deleni protoze mi to zaokrouhluje na cela
cisla,jak to udelam abych zachoval i desetinna cisla, nemelo by to byt tim
ze je to typ decimal nebo jo?
Hezky den
Ales Pavel
TalpaSoft - software pro kazdeho
tel:0777/992792
web: http://Talpa.chytrak.cz
e-casopis: http://rozarkaweb.aktualne.cz
Odpovedá: Roman
19. 11. 2002 14:19
> ahoj mam promennou v triggeru se kterou pocitam nejak takhle x=y/4 jenze
> znamenko "/" asi neni vhodne pro deleni protoze mi to zaokrouhluje na cela
> cisla,jak to udelam abych zachoval i desetinna cisla, nemelo by to byt tim
> ze je to typ decimal nebo jo?
Zkus neco jako x=cast(y as float)/4
Roman
==============================
http://kouzelne.misto.cz
Odpovedá: Radek KALA
19. 11. 2002 15:53
Ted se to resilo v jinem threadu, napis napr 4.0 ( podobne jako v C
> ahoj mam promennou v triggeru se kterou pocitam nejak takhle x=y/4
> jenze znamenko "/" asi neni vhodne pro deleni protoze mi to
> zaokrouhluje na cela cisla,jak to udelam abych zachoval i desetinna
> cisla, nemelo by to byt tim ze je to typ decimal nebo jo?
>
>
>
> Hezky den
>
> Ales Pavel
> TalpaSoft - software pro kazdeho
> tel:0777/992792
> web: http://Talpa.chytrak.cz
> e-casopis: http://rozarkaweb.aktualne.cz
>
S pozdravem Radek KALA
BetaControl, s.r.o.
Cerneho 58/60, 635 00
tlf. : + 420 5 4622 3491
fax : + 420 5 4622 3470
GSM : + 420 603 85 75 15
Odpovedá: Pavel Cisar
19. 11. 2002 17:05
Haj hou!
On 19 Nov 2002 at 11:15, Ales Pavel wrote:
> ahoj mam promennou v triggeru se kterou pocitam nejak takhle x=y/4 jenze
> znamenko "/" asi neni vhodne pro deleni protoze mi to zaokrouhluje na cela
> cisla,jak to udelam abych zachoval i desetinna cisla, nemelo by to byt tim
> ze je to typ decimal nebo jo?
Porad to tu resime dokola a odpoved uz mnohokrat zaznela. Takze jeste
jednou a naposledy, kdyz je Z = X/Y pak :
- V dialektu 1, pokud je X a Y integer nebo numeric/decimal(9,2) (ci
mensi), je vysledkem double precission
- V dialektu 3, pokud je X a Y presne cislo - smallint, integer,
numeric/decimal(n,m) - je vysledkem presne cislo s presnosti rovnou
souctu presnosti obou cisel, delence i delitele.
Priklady:
Deleni DECIMAL(9,2) a DECIMAL(12,3) = DECIMAL(18,5)
Cela cisla 1 a 3...
V dialektu 1 je 1/3 = 0.33333333333333e0 (double precission)
V dialektu 3 je 1/3 = 0, protoze nemaji zadnou presnost (desetina mista)
V dialektu 3 je 23/100.0 = 0.2 (100.0 je jako decimal(4,1) )
V dialektu 3 je 23/100.00 = 0.23 (100.00 je jako decimal (5,2) )
Doufam, ze uz je to jasne.
S pozdravem
Pavel Cisar
Mobil: 724 281429
http://www.ibphoenix.cz
Vse co potrebujete pro Firebird a InterBase